﻿namespace Klinkby.MicroBus
{
    /// <summary>
    /// Definition of messages
    /// <seealso cref="Message"/>
    /// </summary>
    public interface IMessage
    {
        /// <summary>
        /// Message topic
        /// </summary>
        string Topic
        {
            get;
        }

        /// <summary>
        /// Message data contents
        /// </summary>
        byte[] Payload
        {
            get;
        }

        /// <summary>
        /// Message origin
        /// </summary>
        string Sender
        {
            get;
        }
    }
}
